package com.prj.ufdm.cloud.ms.auth.bpo;

import java.util.List;
import com.alibaba.fastjson.JSONObject;
import com.prj.ufdm.cloud.ms.auth.model.SysOrgan;
import com.prj.ufdm.cloud.ms.core.bpo.BaseBPO;

/**  
 * DESC: 角色系统功能
 * @author 胡义振  
 * @date 2020年01月14日  
*/
public interface SysDutyOrganBPO extends BaseBPO<SysOrgan> {
	
	/**
	 * DESC: 添加职务机构对应关系
	 * @auther 胡义振
	 * @date 2020年1月16日
	 * @param dutyId
	 * @param organIds
	 * @throws Exception 
	 * @return
	 */
	public void doAddDutyOrgan(String dutyId,String organIds) throws Exception;
	
    /**
     * DESC: 根据职务ID，查询职务管理机构(返回所有机构，通过ownerFlag进行标识)，返回对象列表
     * @auther 胡义振
     * @date 2020年1月14日
     * @param roleId
     * @return
     * @throws Exception 
     * @return
     */
	public List<SysOrgan> doGetAllOrganListByDutyId(String dutyId) throws Exception;
	
	
	/**
	 * DESC: 根据职务ID，查询职务管理机构(返回所有机构，通过ownerFlag进行标识)，返回JSON列表
	 * @auther 胡义振
	 * @date 2020年1月14日
	 * @param roleId
	 * @return
	 * @throws Exception 
	 * @return
	 */
	public List<JSONObject> doGetAllOrganJsonByDutyId(String dutyId) throws Exception;
	
	/**
	 * DESC: 机构列表转为JSONObject 
	 * @auther 胡义振
	 * @date 2020年1月16日
	 * @param listSysFunction
	 * @return
	 * @throws Exception 
	 * @return
	 */
	public List<JSONObject> doExchangeSysOrganListToJson(List<SysOrgan> listSysFunction) throws Exception;
	
		
}
